package io.geekidea.boot.inventorychange.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@ToString(callSuper = true)
@ColumnWidth(value = 15)
public class StoreChangeExcel implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty("入库单号")
    private String warehouseentrynumber;

    @ExcelProperty("物料编码")
    private String materialcode;

    @ExcelProperty("物料SN号")
    private String materialsnmark;

    @ExcelProperty("物料名称")
    private String nameofmaterial;

    @ExcelProperty("物料仓库")
    private String materialswarehouse;

    @ExcelProperty("变动类型")
    private String typeofchange;

    @ExcelProperty("变动行为")
    private String changebehavior;

    @ExcelProperty("变更数量")
    private String quantityofchange;

    @ExcelProperty("库存数量")
    private String quantityinstock;

    @ExcelProperty("可用库存")
    private String availablestock;
    @ExcelProperty("锁定库存")
    private String lockininventory;

    @TableField(value = "timeofchange")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8",shape = JsonFormat.Shape.STRING)
    @ExcelProperty("变动时间")
    @DateTimeFormat("yyyy-MM-dd")
    private LocalDateTime timeofchange;
    @ExcelProperty("战区名称")
    private String areaName;
    @ExcelProperty("⻔店名称")
    private String storeName;


    @ExcelProperty("创建人")
    private String createdBy;

    @ExcelProperty("修改人")
    private String updatedBy;


}
